import httpRequest from '../utils/request'

// 获取用户信息
export function GetUserInfo(params) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'GET',
      url: '/user/info',
      params
    })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 验证用户
export function Verify() {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'GET',
      url: '/verify'
    })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 更新用户信息
export function UpdateUserInfo(data) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'PUT',
      url: '/user/info',
      data
    })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 更新用户头像
export function UpdateUserAvatar(data) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'PUT',
      url: '/user/avatar',
      data
    })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 获取同班同学
export function GetContactList(params) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'GET',
      url: '/user/contact',
      params
    })
      .then((res) => {
        resolve(res.data)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 获取短信验证码
export function GetVerifyCode(params) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'GET',
      url: '/user/code',
      params
    })
      .then((res) => {
        resolve(res)
      })
      .catch((err) => {
        reject(err)
      })
  })
}

// 密码重置
export function ResetPassword(params) {
  return new Promise((resolve, reject) => {
    httpRequest({
      method: 'GET',
      url: '/user/resetPassword',
      params
    })
      .then((res) => {
        resolve(res)
      })
      .catch((err) => {
        reject(err)
      })
  })
}
